import Vue from 'vue'

const install = (Vue) => {
  /**
   * 计算延迟时间
   * @param {Number} i 下标
   * @param {Number} step 进步值
   */
  Vue.prototype.$calcWowDelay = (i, step = 0.1) => {
    i = parseInt(i) + 1

    return (i * step).toFixed(2) + 's'
  }
}

/**
 * 获取视图容器的宽高
 */
Vue.prototype.$viewport = (function () {
  if (process.browser) {
    if (document.compatMode === 'BackCompat') {
      return {
        width: document.body.clientWidth,
        height: document.body.clientHeight
      }
    } else {
      return {
        width: document.documentElement.clientWidth,
        height: document.documentElement.clientHeight
      }
    }
  }

  return {
    width: 0,
    height: 0
  }
})()

/**
 * 获取某个节点的位置属性
 * @param {String} element 节点元素
 */
Vue.prototype.$getBoundingClientRect = function (element) {
  return element.getBoundingClientRect()
}

Vue.use({ install })
